package edu.zut.servlet;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * Servlet规范：接口  定义好了默认处理请求以及响应的规则
 * HttpServlet： 实现了Servlet接口的抽象类
 * 展示本地系统时间：
 * url：http://localhost:8080/Web203_204/showDate   Get
 * 我们编写的程序ShowDateServlet如何和url请求形成自动映射匹配关系？
 *  在web.xml中手动编写映射关系
 *
 *
 * 我们的代码还是在main里面编写么？no
 * 1、ShowDateServlet对象需要能够自动处理请求以及响应的功能   继承 HttpServlet(实现了Servlet规范的抽象类)
 * 2、处理请求以及响应的代码在哪编写?main? no  根据url请求方式（get/post）不同 对应的去重写do..方法,代码写入即可
 *    在do...方法中处理请求以及响应的
 *    此方法的两个形参：request:表示的就是Http请求     response:http响应
 *
 */
public class ShowDateServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取一个servletConfig对象    每个servlet都有一个
        ServletConfig servletConfig = this.getServletConfig();
        String servletName = servletConfig.getServletName();
        String initParameter = servletConfig.getInitParameter("key");
        System.out.println("servletName = " + servletName);
        System.out.println("initParameter = " + initParameter);

        Date date = new Date();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        String local_date = dateFormat.format(date);
        //将获取的本地系统日期以响应的形式返回给浏览器
        PrintWriter writer = response.getWriter();
        writer.write(local_date);
        writer.flush();
        writer.close();
    }



}
